package sctu.edu.java.year2016.team06.project;



import java.io.FileInputStream;
import java.io.IOException;
import java.util.Scanner;


/**
 * Created by LCJ on 2016/6/22.
 */
public class User {

    public static void main(String[] args) throws IOException {

        Scanner scan = new Scanner(System.in);

        Database connect = new Database();     //创建Database对象;
        Worker connect1 = new Worker();        //创建 Worker对象;
        Format format = new Format();          //创建 Format对象;
        User user = new User();                 //创建 user对象;
        MyThread myThread=new MyThread();

        String initialize;
        System.out.println("系统提示：如果您是初次使用本系统请您输入“安装”来下载安装该系统，如果您已安装本系统请输入“登录”。");
        initialize = scan.nextLine();
        if (initialize.equals("安装")) {
            format.Document3();
            format.Document4();
            format.Document5();
            format.Document6();
            format.Document7();
            format.Docum();
            format.Docum1();
            format.Docum3();
            format.Docum4();

            System.out.println("正在安装程序组件，请稍后！");
            myThread.run();
            System.out.println(" ");
            System.out.println("安装成功！");
            System.out.println("欢迎进入登录页面！");
            System.out.println("★★★★★★★★★");
            System.out.println("★1.登录★2.注册★");
            System.out.println("★★★★★★★★★");
            System.out.println("\u2600系统提示：请输入功能前的数字：");

            int en;
            en = scan.nextInt();

            if (en==2) {
                connect.enroll();
            }

            if (en==1 || en==2) {
                int logomethed;
                System.out.println("★★★★★★★★★★★★★");
                System.out.println("★1.静态登录★2.动态登录★");
                System.out.println("★★★★★★★★★★★★★");
                System.out.println("\u2600系统提示：请输入功能前的数字选择登录方式：");
                logomethed = scan.nextInt();
                switch (logomethed) {
                    case 1:
                        connect.logo();
                        break;
                    case 2:
                        connect.register();
                        break;
                    default:
                        System.out.println("很抱歉，没有这种登录方式");
                        System.exit(0);
                }
            }
        } else if (initialize.equals("登录")) {

            System.out.println("欢迎进入登录页面");
            int logomethed;
            System.out.println("★★★★★★★★★★★★★");
            System.out.println("★1.静态登录★2.动态登录★");
            System.out.println("★★★★★★★★★★★★★");
            System.out.println("☀请输入功能前的数字：");

            logomethed = scan.nextInt();
            switch (logomethed) {
                case 1:
                    connect.logo();
                    break;
                case 2:
                    connect.register();
                    break;
                default:
                    System.out.println("很抱歉，没有这种登录方式");
                    System.exit(0);
            }
        } else {
            System.out.println("很抱歉,输入错误，程序终止！");
            System.exit(0);
        }
        System.out.println(" ");
        System.out.println("欢迎进入运维平台！");
        connect.ad();

        int i = 0;
        user.showTip();

        while (i < 10000) {



            int j=scan.nextInt();
            switch (j) {
                case 1:
                    System.out.println("欢迎进入问题搜索");
                    String question1;
                    System.out.println("请您输入遇到的问题：");

                    question1 = scan.next();
                    connect.question(question1);    //调用自创数据库Database的question()方法;
                    String research1;
                    System.out.println("请输入您要搜索的内容：");
                    research1 = scan.next();
                    connect.research(research1);    //调用自创数据库Database的research()方法;
                    user.showTip1();
                    break;

                case 2:
                    System.out.println("你已进入平台经验库!");
                    System.out.println("平台经验库中已储存如下问题：");
                    connect.Documen();
                    String input;
                    System.out.println("如果您已发现您要解决的问题，请输入问题的关键字，没有找到请输入否。");

                    input = scan.next();
                    if (input.equals("否")) {
                        System.out.println("请执行人工服务功能！");
                    } else {
                        connect.Documen1();
                    }
                    user.showTip1();
                    break;

                case 3:
                    System.out.println("经验库全部数据如下：");
                    connect.Document2();      //调用自创数据库Database的Document2()方法;
                    user.showTip1();
                    break;

                case 4:
                    System.out.println("欢迎使用人工服务");
                    String other;
                    System.out.println("请输入你遇到的问题：");


                    other = scan.next();
                    System.out.println("关于“" + other + "”这个问题，我们将已派出001号员工为您解决,请稍等");
                    connect1.specfic();        //调用工作端Worker的Document2()方法;
                    System.out.println("请等待工作人员的回复，然后更新");
                    System.out.println("提示：需要执行工作端Woker程序！");
                    connect.ad();
                    String decide1;
                    System.out.println("\u2600系统提示：请您输入“是”或者“否”");
                    System.out.println("您是否需要查看，工作人员是否已经为您解决问题？");
                    decide1 = scan.next();
                    if (decide1.equals("是")) {
                        if (user.methed3().equals("001号员工的回复："))
                            System.out.println("请耐心等待！");

                        else {
                            System.out.println("001号员工已为您解决这个问题，请您查看！");
                        }
                    }
                    String decide;
                    System.out.println("\u2600系统提示：请您输入“是”或者“否”");
                    System.out.println("001号员工是否已经回复您");

                    decide = scan.next();
                    if (decide.equals("是"))
                        System.out.println("001号员工为您提供解决方案如下：");
                    else {
                        System.out.println("请耐心等待！");
                    }
                    connect1.methed1();        //调用工作端Worker的methed1()方法;
                    System.out.println("如果你没有得到回复，请到论坛留言");
                    user.showTip1();
                    break;
                case 5:user.showTip();
                    break;

                case 6:
                    String Find;
                    System.out.println("\u2600系统提示：请您输入“是”或者“否”");
                    System.out.println("您是否已经得到解决方法？");

                    Find = scan.next();
                    if (Find.equals("是")) {
                        connect.Document9();
                    } else if (Find.equals("否")) {
                        connect.Document9();
                        System.out.println("\u2605在这儿我们没能解决你的问题，敬请原谅。");
                        System.out.println("\u2605您可以到我们公司来，我们将亲自为您服务。");
                        System.out.println("\u2605我们热烈欢迎您的到来。");
                        System.out.println("\u2605感谢您使用运维平台！");
                    } else {
                        System.out.println("您输入错误！");

                    }
                    user.showTip1();
                    break;


                case 7:
                    String back;
                    System.out.println("系统提示：请输入“是”或者“否”");
                    System.out.println("您是否要退出系统？");

                    back=scan.next();
                    if(back.equals("是")) {
                        System.out.println("您已成功退出系统");
                        System.out.println("感谢您的使用，再见！");
                        System.exit(0);
                    }
                    user.showTip1();
                    break;


                case 8:
                    String delete;
                    System.out.println("系统提示：请您输入“是”或者“否”");
                    System.out.println("您是否需要清除该系统？释放空间");

                    delete = scan.next();
                    if (delete.equals("是")) {
                        format.delete1();
                        format.delete2();
                        format.delete3();
                        format.delete4();
                        format.delete5();
                        format.delete6();
                        format.delete7();
                        System.out.println("系统清除完成!");
                        System.out.println("下次使用请重新安装!");
                    }
                    user.showTip1();
                    break;
                case 9:
                    int w;
                    System.out.println("★★★★★★★★★★★★★★");
                    System.out.println("★1.发表留言★2.查看留言板★");
                    System.out.println("★★★★★★★★★★★★★★");
                    System.out.println("请输入功能前的数字：");
                    w=scan.nextInt();
                    if(w==1) {
                        connect.meassage();


                    }
                    else if(w==2) {
                        connect.meassage1();

                    }
                    else {
                        System.out.println("输入错误！");
                    }
                    user.showTip1();
                    break;

                default:
                    System.out.println("您的输入错误！请重新访问");

            }

            i++;
        }
    }




    public String methed3() throws IOException {

        FileInputStream fileInputStream = new FileInputStream("D:/communication.txt");
        byte byt[] = new byte[10000];
        int length = fileInputStream.read(byt);
        fileInputStream.close();
        return (new String(byt, 0, length));
    }
    public void showTip(){
        System.out.println("\u2605"+"\u2605"+"\u2605"+"\u2605"+"\u2605"+"\u2605"+"\u2605"+"\u2605"+"\u2605"+"\u2605"
                +"\u2605"+"\u2605"+"\u2605");
        System.out.println("★1.搜索                \u2605");
        System.out.println("★2.经验库问题查询与搜索  \u2605");
        System.out.println("★3.查看经验库中已有数据  \u2605");
        System.out.println("★4.人工服务            \u2605 ");
        System.out.println("\u2605"+"\u2605"+"\u2605"+"\u2605"+"\u2605"+"\u2605"+"\u2605"+"\u2605"+"\u2605"+"\u2605"
                +"\u2605"+"\u2605"+"\u2605");
        System.out.println("请输入功能前的相应数字");
    }
    public void showTip1(){
        System.out.println("\u2605"+"\u2605"+"\u2605"+"\u2605"+"\u2605"+"\u2605"+"\u2605"+"\u2605"+"\u2605"+"\u2605"
                +"\u2605"+"\u2605"+"\u2605"+"\u2605");
        System.out.println("★5.返回上一页           ★");
        System.out.println("★6.投诉与建议           ★");
        System.out.println("★7.退出系统             ★");
        System.out.println("★8.清除系统             ★");
        System.out.println("★9.平台论坛             ★");
        System.out.println("\u2605"+"\u2605"+"\u2605"+"\u2605"+"\u2605"+"\u2605"+"\u2605"+"\u2605"+"\u2605"+"\u2605"
                +"\u2605"+"\u2605"+"\u2605"+"\u2605");
        System.out.println("请输入功能前的相应数字");
    }

}
